package com.flesler.stickjoy.controller
{
	import flash.events.IEventDispatcher;

	/**
	 * Dispatched when the value changes
	 * @eventType flash.events.Event.CHANGED
	 */
	[Event(name='change', type='flash.events.Event')]
	
	/**
	 * Dispatched when the object is destroyed
	 * @eventType flash.events.Event.UNLOAD
	 */
	[Event(name='unload', type='flash.events.Event')]
	
	public interface ControllerComponent extends IEventDispatcher
	{
		function get key():String;
		function get isAnalog():Boolean;
		function get value():Object;
		function destroy():void;
	}
}